/*============================================================================*/
/*                              x embedded systems                            */
/*============================================================================*/
/*                        OBJECT SPECIFICATION                                */
/*============================================================================*
* %name:            sw_timers.h%
* %version:         1.0%
* %created_by:      David Robles%
* %date_created:    March 14 2012%
*=============================================================================*/
/* DESCRIPTION : Timers by software                                           */
/*============================================================================*/
/* FUNCTION COMMENT : Provide APIs to use software timers                     */
/*                                                                            */
/*                                                                            */
/*============================================================================*/
/*                               OBJECT HISTORY                               */
/*============================================================================*/
/*  REVISION |   DATE      |                               |      AUTHOR      */
/*----------------------------------------------------------------------------*/
/*  1.0      | 14/03/2012  |                               | David Robles     */
/* File added to project                                                      */
/*============================================================================*/

#ifndef SW_TIMERS_H
#define SW_TIMERS_H

/*======================================================*/ 
/* Definition of RAM variables                          */
/*======================================================*/ 
/* BYTES */

/* WORDS */

/* LONGS and STRUCTURES */

/* Exported functions prototypes and macros */
/* ---------------------------------------- */

/* Functions prototypes */
PUBLIC_FCT void sw_timers_InitTimers(void);
PUBLIC_FCT void sw_timers_StartTimer(T_UBYTE lub_TimerNum);
PUBLIC_FCT void sw_timers_StopTimer(T_UBYTE lub_TimerNum);
PUBLIC_FCT T_UWORD sw_timers_CheckTimer(T_UBYTE lub_TimerNum);
PUBLIC_FCT T_UBYTE sw_timers_IsExpiredTimer(T_UBYTE lub_TimerNum, T_UWORD luw_Time);
PUBLIC_FCT T_UBYTE sw_timers_IsFreeTimer(T_UBYTE lub_TimerNum);

/* Functions macros */

/* Exported defines */
#define SW_TIMERS_N_TIMERS		(5)

/* symbols designed for timers' aplication */

#define MY_TIMER_0_ 0
#define MY_TIMER_1_ 1
#define MY_TIMER_2_ 2


#endif